home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / CIncludes / AVComponents.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  24.0 KB  |  639 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        AVComponents.h
  3.  
  4.      Contains:    Standard includes for standard AV panels
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    (c) 1989-1999 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __AVCOMPONENTS__
  18. #define __AVCOMPONENTS__
  19.  
  20. #ifndef __DIALOGS__
  21.     #include <Dialogs.h>
  22. #endif
  23.  
  24. #ifndef __VIDEO__
  25.     #include <Video.h>
  26. #endif
  27.  
  28. #ifndef __DISPLAYS__
  29.     #include <Displays.h>
  30. #endif
  31.  
  32. #ifndef __COMPONENTS__
  33.     #include <Components.h>
  34. #endif
  35.  
  36.  
  37.  
  38.  
  39. #if PRAGMA_ONCE
  40. #pragma once
  41. #endif
  42.  
  43. #ifdef __cplusplus
  44. extern "C" {
  45. #endif
  46.  
  47. #if PRAGMA_IMPORT
  48. #pragma import on
  49. #endif
  50.  
  51. #if PRAGMA_STRUCT_ALIGN
  52.     #pragma options align=mac68k
  53. #elif PRAGMA_STRUCT_PACKPUSH
  54.     #pragma pack(push, 2)
  55. #elif PRAGMA_STRUCT_PACK
  56.     #pragma pack(2)
  57. #endif
  58.  
  59. /*
  60.     The subtypes listed here are for example only.  The display manager will find _all_ panels
  61.       with the appropriate types.  These panels return class information that is used to devide them
  62.       up into groups to be displayed in the AV Windows (class means "geometry" or "color" or other groupings
  63.       like that.
  64. */
  65. enum {
  66.     kAVPanelType                = FOUR_CHAR_CODE('avpc'),        /* Panel subtypes            */
  67.     kBrightnessPanelSubType        = FOUR_CHAR_CODE('brit'),
  68.     kContrastPanelSubType        = FOUR_CHAR_CODE('cont'),
  69.     kBitDepthPanelSubType        = FOUR_CHAR_CODE('bitd'),
  70.     kAVEngineType                = FOUR_CHAR_CODE('avec'),        /* Engine subtypes                */
  71.     kBrightnessEngineSubType    = FOUR_CHAR_CODE('brit'),
  72.     kContrastEngineSubType        = FOUR_CHAR_CODE('cont'),        /*    kBitDepthEngineSubType        = 'bitd',            // Not used                    */
  73.     kAVPortType                    = FOUR_CHAR_CODE('avdp'),        /* subtypes are defined in each port's public .h file */
  74.     kAVUtilityType                = FOUR_CHAR_CODE('avuc'),
  75.     kAVBackChannelSubType        = FOUR_CHAR_CODE('avbc'),
  76.     kAVCommunicationType        = FOUR_CHAR_CODE('avcm'),
  77.     kAVDialogType                = FOUR_CHAR_CODE('avdg')
  78. };
  79.  
  80. /* PortComponent subtypes are up to the port and display manager does not use the subtype
  81.     to find port components.  Instead, display manager uses an internal cache to search for portcompoennts.
  82.     It turns out to be useful to have a unique subtype so that engines can see if they should apply themselves to
  83.     a particular port component.
  84.   
  85.    PortKinds are the "class" of port.  When a port is registered with display manager (creating a display ID), the
  86.     caller of DMNewDisplayIDByPortComponent passes a portKind.  Ports of this type are returned by
  87.     DMNewDevicePortList.
  88.   
  89.    PortKinds are NOT subtypes of components
  90.    PortKinds ARE used to register and find port components with Display Manager.  Here are the basic port kinds:
  91.   
  92.    Video displays are distinct from video out because there are some video out ports that are not actaully displays.
  93.     if EZAV is looking to configure displays, it needs to look for kAVVideoDisplayPortKind not kAVVideoOutPortKind.
  94. */
  95. enum {
  96.     kAVVideoDisplayPortKind        = FOUR_CHAR_CODE('pkdo'),        /* Video Display (CRT or panel display)                */
  97.     kAVVideoOutPortKind            = FOUR_CHAR_CODE('pkvo'),        /* Video out port (camera output).                      */
  98.     kAVVideoInPortKind            = FOUR_CHAR_CODE('pkvi'),        /* Video in port (camera input)                        */
  99.     kAVSoundOutPortKind            = FOUR_CHAR_CODE('pkso'),        /* Sound out port (speaker or speaker jack)            */
  100.     kAVSoundInPortKind            = FOUR_CHAR_CODE('pksi'),        /* Sound in port (microphone or microphone jack)    */
  101.     kAVDeviceType                = FOUR_CHAR_CODE('avdc'),        /* Device Component subtypes are up to the manufacturor since each device may contain multiple function types (eg telecaster) */
  102.     kAVDisplayDeviceKind        = FOUR_CHAR_CODE('dkvo'),        /* Display device*/
  103.                                                                 /* Device Component subtypes are up to the manufacturor since each device may contain multiple function types (eg telecaster)*/
  104.     kAVCategoryType                = FOUR_CHAR_CODE('avcc'),
  105.     kAVSoundInSubType            = FOUR_CHAR_CODE('avao'),
  106.     kAVSoundOutSubType            = FOUR_CHAR_CODE('avai'),
  107.     kAVVideoInSubType            = FOUR_CHAR_CODE('vdin'),
  108.     kAVVideoOutSubType            = FOUR_CHAR_CODE('vdou'),
  109.     kAVInvalidType                = FOUR_CHAR_CODE('badt')        /* Some calls return a component type, in case of errors, these types are set to kAVInvalidComponentType */
  110. };
  111.  
  112. /*
  113.    Interface Signatures are used to identify what kind of component
  114.    calls can be made for a given component. Today this applies only
  115.    to ports, but could be applied to other components as well.
  116. */
  117. enum {
  118.     kAVGenericInterfaceSignature = FOUR_CHAR_CODE('dmgr'),
  119.     kAVAppleVisionInterfaceSignature = FOUR_CHAR_CODE('avav')
  120. };
  121.  
  122. /* =============================                    */
  123. /* Panel Class Constants                            */
  124. /* =============================                    */
  125. enum {
  126.     kAVPanelClassDisplayDefault    = FOUR_CHAR_CODE('cdsp'),
  127.     kAVPanelClassColor            = FOUR_CHAR_CODE('cclr'),
  128.     kAVPanelClassGeometry        = FOUR_CHAR_CODE('cgeo'),
  129.     kAVPanelClassSound            = FOUR_CHAR_CODE('csnd'),
  130.     kAVPanelClassPreferences    = FOUR_CHAR_CODE('cprf'),
  131.     kAVPanelClassLCD            = FOUR_CHAR_CODE('clcd'),
  132.     kAVPanelClassMonitorSound    = FOUR_CHAR_CODE('cres'),
  133.     kAVPanelClassAlert            = FOUR_CHAR_CODE('calr'),
  134.     kAVPanelClassExtras            = FOUR_CHAR_CODE('cext'),
  135.     kAVPanelClassRearrange        = FOUR_CHAR_CODE('crea')
  136. };
  137.  
  138.  
  139. /* =============================                    */
  140. /* AV Notification Types                            */
  141. /* =============================                    */
  142. /*
  143.    This notification will be sent whenever a
  144.    device has been reset, for whatever reason.
  145. */
  146. enum {
  147.     kAVNotifyDeviceReset        = FOUR_CHAR_CODE('rset')
  148. };
  149.  
  150.  
  151. /* =============================                    */
  152. /* Component interface revision levels and history    */
  153. /* =============================                    */
  154. enum {
  155.     kAVPanelComponentInterfaceRevOne = 1,
  156.     kAVPanelComponentInterfaceRevTwo = 2,
  157.     kAVEngineComponentInterfaceRevOne = 1,
  158.     kAVPortComponentInterfaceRevOne = 1,
  159.     kAVDeviceComponentInterfaceRevOne = 1,
  160.     kAVUtilityComponentInterfaceRevOne = 1
  161. };
  162.  
  163.  
  164. /* =============================                    */
  165. /* Adornment Constants                                */
  166. /* =============================                    */
  167. enum {
  168.     kAVPanelAdornmentNoBorder    = 0,
  169.     kAVPanelAdornmentStandardBorder = 1
  170. };
  171.  
  172. enum {
  173.     kAVPanelAdornmentNoName        = 0,
  174.     kAVPanelAdornmentStandardName = 1
  175. };
  176.  
  177.  
  178. /* =============================                    */
  179. /* Selector Ranges                                    */
  180. /* =============================                    */
  181. enum {
  182.     kBaseAVComponentSelector    = 256,                            /* First apple-defined selector for AV components */
  183.     kAppleAVComponentSelector    = 512                            /* First apple-defined type-specific selector for AV components */
  184. };
  185.  
  186.  
  187. /* =============================                */
  188. /* Panel Standard component selectors            */
  189. /* =============================                */
  190. enum {
  191.     kAVPanelFakeRegisterSelect    = kComponentRegisterSelect,        /* -5    */
  192.     kAVPanelSetCustomDataSelect    = 0,
  193.     kAVPanelGetDitlSelect        = 1,
  194.     kAVPanelGetTitleSelect        = 2,
  195.     kAVPanelInstallSelect        = 3,
  196.     kAVPanelEventSelect            = 4,
  197.     kAVPanelItemSelect            = 5,
  198.     kAVPanelRemoveSelect        = 6,
  199.     kAVPanelValidateInputSelect    = 7,
  200.     kAVPanelGetSettingsIdentifiersSelect = 8,
  201.     kAVPanelGetSettingsSelect    = 9,
  202.     kAVPanelSetSettingsSelect    = 10,
  203.     kAVPanelSelectorGetFidelitySelect = kBaseAVComponentSelector,
  204.     kAVPanelSelectorTargetDeviceSelect = 257,
  205.     kAVPanelSelectorGetPanelClassSelect = 258,
  206.     kAVPanelSelectorGetPanelAdornmentSelect = 259,
  207.     kAVPanelSelectorGetBalloonHelpStringSelect = 260,
  208.     kAVPanelSelectorAppleGuideRequestSelect = 261
  209. };
  210.  
  211.  
  212. /* =============================                */
  213. /* Engine Standard component selectors            */
  214. /* =============================                */
  215. enum {
  216.     kAVEngineGetEngineFidelitySelect = kBaseAVComponentSelector,
  217.     kAVEngineTargetDeviceSelect    = 257
  218. };
  219.  
  220.  
  221. /* =============================                    */
  222. /* Video Port Specific calls                        */
  223. /* =============================                    */
  224. enum {
  225.     kAVPortCheckTimingModeSelect = 0,
  226.     kAVPortReserved1Select        = 1,                            /* Reserved*/
  227.     kAVPortReserved2Select        = 2,                            /* Reserved*/
  228.     kAVPortGetDisplayTimingInfoSelect = kAppleAVComponentSelector,
  229.     kAVPortGetDisplayProfileCountSelect = 513,
  230.     kAVPortGetIndexedDisplayProfileSelect = 514,
  231.     kAVPortGetDisplayGestaltSelect = 515
  232. };
  233.  
  234.  
  235. /* =============================                    */
  236. /* AV Port Specific calls                            */
  237. /* =============================                    */
  238. enum {
  239.     kAVPortGetAVDeviceFidelitySelect = kBaseAVComponentSelector, /* Port Standard Component selectors */
  240.     kAVPortGetWiggleSelect        = 257,
  241.     kAVPortSetWiggleSelect        = 258,
  242.     kAVPortGetNameSelect        = 259,
  243.     kAVPortGetGraphicInfoSelect    = 260,
  244.     kAVPortSetActiveSelect        = 261,
  245.     kAVPortGetActiveSelect        = 262,
  246.     kAVPortUnsed1Select            = 263,                            /* Selector removed as part of API change.  We don't want to mess up the following selectors, so we put in this spacer (ie kPadSelector). */
  247.     kAVPortGetAVIDSelect        = 264,
  248.     kAVPortSetAVIDSelect        = 265,
  249.     kAVPortSetDeviceAVIDSelect    = 266,                            /* For registrar to set device (instead of hitting global directly) -- should only be called once */
  250.     kAVPortGetDeviceAVIDSelect    = 267,                            /* Called by display mgr for generic ports */
  251.     kAVPortGetPowerStateSelect    = 268,
  252.     kAVPortSetPowerStateSelect    = 269,
  253.     kAVPortGetMakeAndModelSelect = 270,                            /* Get Make and model information*/
  254.     kAVPortGetInterfaceSignatureSelect = 271,                    /* To determine what VideoPort-specific calls can be made*/
  255.     kAVPortReserved3Select        = 272,                            /* Reserved*/
  256.     kAVPortGetManufactureInfoSelect = 273                        /* Get more Make and model information  */
  257. };
  258.  
  259.  
  260.  
  261.  
  262. /* =============================                    */
  263. /* Device Component Standard Component selectors    */
  264. /* =============================                    */
  265. enum {
  266.     kAVDeviceGetNameSelect        = kBaseAVComponentSelector,
  267.     kAVDeviceGetGraphicInfoSelect = 257,
  268.     kAVDeviceGetPowerStateSelect = 258,
  269.     kAVDeviceSetPowerStateSelect = 259,
  270.     kAVDeviceGetAVIDSelect        = 260,
  271.     kAVDeviceSetAVIDSelect        = 261
  272. };
  273.  
  274. /* =============================                    */
  275. /* AV Back-Channel Selectors                        */
  276. /* =============================                    */
  277. enum {
  278.     kAVBackChannelReservedSelector = 1,
  279.     kAVBackChannelPreModalFilterSelect = 2,
  280.     kAVBackChannelModalFilterSelect = 3,
  281.     kAVBackChannelAppleGuideLaunchSelect = 4
  282. };
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290. /* =============================                */
  291. /* Engine Standard component selectors            */
  292. /* =============================                */
  293. EXTERN_API( ComponentResult )
  294. AVEngineComponentGetFidelity    (ComponentInstance         engineComponent,
  295.                                  DisplayIDType             displayID,
  296.                                  DMFidelityType *        engineFidelity)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
  297.  
  298. EXTERN_API( ComponentResult )
  299. AVEngineComponentTargetDevice    (ComponentInstance         engineComponent,
  300.                                  DisplayIDType             displayID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  301.  
  302.  
  303. /* =============================                */
  304. /* Panel Standard Component calls                */
  305. /* =============================                */
  306. EXTERN_API( ComponentResult )
  307. AVPanelFakeRegister                (ComponentInstance         ci)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFB, 0x7000, 0xA82A);
  308.  
  309. EXTERN_API( ComponentResult )
  310. AVPanelSetCustomData            (ComponentInstance         ci,
  311.                                  long                     theCustomData)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0000, 0x7000, 0xA82A);
  312.  
  313. EXTERN_API( ComponentResult )
  314. AVPanelGetDitl                    (ComponentInstance         ci,
  315.                                  Handle *                ditl)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
  316.  
  317. EXTERN_API( ComponentResult )
  318. AVPanelGetTitle                    (ComponentInstance         ci,
  319.                                  StringPtr                 title)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
  320.  
  321. EXTERN_API( ComponentResult )
  322. AVPanelInstall                    (ComponentInstance         ci,
  323.                                  DialogPtr                 dialog,
  324.                                  long                     itemOffset)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
  325.  
  326. EXTERN_API( ComponentResult )
  327. AVPanelEvent                    (ComponentInstance         ci,
  328.                                  DialogPtr                 dialog,
  329.                                  long                     itemOffset,
  330.                                  EventRecord *            event,
  331.                                  short *                itemHit,
  332.                                  Boolean *                handled)                            FIVEWORDINLINE(0x2F3C, 0x0014, 0x0004, 0x7000, 0xA82A);
  333.  
  334. EXTERN_API( ComponentResult )
  335. AVPanelItem                        (ComponentInstance         ci,
  336.                                  DialogPtr                 dialog,
  337.                                  long                     itemOffset,
  338.                                  short                     itemNum)                            FIVEWORDINLINE(0x2F3C, 0x000A, 0x0005, 0x7000, 0xA82A);
  339.  
  340. EXTERN_API( ComponentResult )
  341. AVPanelRemove                    (ComponentInstance         ci,
  342.                                  DialogPtr                 dialog,
  343.                                  long                     itemOffset)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
  344.  
  345. EXTERN_API( ComponentResult )
  346. AVPanelValidateInput            (ComponentInstance         ci,
  347.                                  Boolean *                ok)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
  348.  
  349. EXTERN_API( ComponentResult )
  350. AVPanelGetSettingsIdentifiers    (ComponentInstance         ci,
  351.                                  short *                theID,
  352.                                  OSType *                theType)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
  353.  
  354. EXTERN_API( ComponentResult )
  355. AVPanelGetSettings                (ComponentInstance         ci,
  356.                                  Handle *                userDataHand,
  357.                                  long                     flags,
  358.                                  DialogPtr                 theDialog,
  359.                                  long                     itemsOffset)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x0009, 0x7000, 0xA82A);
  360.  
  361. EXTERN_API( ComponentResult )
  362. AVPanelSetSettings                (ComponentInstance         ci,
  363.                                  Handle                 userDataHand,
  364.                                  long                     flags,
  365.                                  DialogPtr                 theDialog,
  366.                                  long                     itemsOffset)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x000A, 0x7000, 0xA82A);
  367.  
  368. EXTERN_API( ComponentResult )
  369. AVPanelGetFidelity                (ComponentInstance         panelComponent,
  370.                                  DisplayIDType             displayID,
  371.                                  DMFidelityType *        panelFidelity)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
  372.  
  373. EXTERN_API( ComponentResult )
  374. AVPanelComponentTargetDevice    (ComponentInstance         panelComponent,
  375.                                  DisplayIDType             displayID,
  376.                                  DialogPtr                 theDialog,
  377.                                  long                     itemsOffset)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0101, 0x7000, 0xA82A);
  378.  
  379. EXTERN_API( ComponentResult )
  380. AVPanelComponentGetPanelClass    (ComponentInstance         panelComponent,
  381.                                  ResType *                panelClass,
  382.                                  ResType *                subClass,
  383.                                  Ptr                     reserved1,
  384.                                  Ptr                     reserved2)                            FIVEWORDINLINE(0x2F3C, 0x0010, 0x0102, 0x7000, 0xA82A);
  385.  
  386. EXTERN_API( ComponentResult )
  387. AVPanelComponentGetPanelAdornment (ComponentInstance     panelComponent,
  388.                                  long *                    panelBorderType,
  389.                                  long *                    panelNameType)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0103, 0x7000, 0xA82A);
  390.  
  391. EXTERN_API( ComponentResult )
  392. AVPanelComponentGetBalloonHelpString (ComponentInstance  panelComponent,
  393.                                  short                     item,
  394.                                  StringPtr                 balloonString)                        FIVEWORDINLINE(0x2F3C, 0x0006, 0x0104, 0x7000, 0xA82A);
  395.  
  396. EXTERN_API( ComponentResult )
  397. AVPanelComponentAppleGuideRequest (ComponentInstance     panelComponent,
  398.                                  OSType                 agSelector,
  399.                                  void *                    agDataReply)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0105, 0x7000, 0xA82A);
  400.  
  401. /* =============================                */
  402. /* Port Component Standard Component selectors    */
  403. /* =============================                */
  404. EXTERN_API( ComponentResult )
  405. AVPortGetAVDeviceFidelity        (ComponentInstance         portComponent,
  406.                                  AVIDType                 deviceAVID,
  407.                                  DMFidelityType *        portFidelity)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
  408.  
  409. EXTERN_API( ComponentResult )
  410. AVPortGetWiggle                    (ComponentInstance         portComponent,
  411.                                  Boolean *                wiggleDevice)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  412.  
  413. EXTERN_API( ComponentResult )
  414. AVPortSetWiggle                    (ComponentInstance         portComponent,
  415.                                  Boolean                 wiggleDevice)                        FIVEWORDINLINE(0x2F3C, 0x0002, 0x0102, 0x7000, 0xA82A);
  416.  
  417. EXTERN_API( ComponentResult )
  418. AVPortGetName                    (ComponentInstance         portComponent,
  419.                                  Str255                 portName)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  420.  
  421. EXTERN_API( ComponentResult )
  422. AVPortGetGraphicInfo            (ComponentInstance         portComponent,
  423.                                  PicHandle *            thePict,
  424.                                  Handle *                theIconSuite,
  425.                                  AVLocationPtr             theLocation)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0104, 0x7000, 0xA82A);
  426.  
  427. EXTERN_API( ComponentResult )
  428. AVPortSetActive                    (ComponentInstance         portComponent,
  429.                                  Boolean                 setActive)                            FIVEWORDINLINE(0x2F3C, 0x0002, 0x0105, 0x7000, 0xA82A);
  430.  
  431. EXTERN_API( ComponentResult )
  432. AVPortGetActive                    (ComponentInstance         portComponent,
  433.                                  Boolean *                isPortActive,
  434.                                  Boolean *                portCanBeActivated,
  435.                                  void *                    reserved)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x0106, 0x7000, 0xA82A);
  436.  
  437. EXTERN_API( ComponentResult )
  438. AVPortGetAVID                    (ComponentInstance         portComponent,
  439.                                  AVIDType *                avPortID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
  440.  
  441. EXTERN_API( ComponentResult )
  442. AVPortSetAVID                    (ComponentInstance         portComponent,
  443.                                  AVIDType                 avPortID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
  444.  
  445. EXTERN_API( ComponentResult )
  446. AVPortSetDeviceAVID                (ComponentInstance         portComponent,
  447.                                  AVIDType                 avDeviceID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
  448.  
  449. EXTERN_API( ComponentResult )
  450. AVPortGetDeviceAVID                (ComponentInstance         portComponent,
  451.                                  AVIDType *                avDeviceID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
  452.  
  453. EXTERN_API( ComponentResult )
  454. AVPortGetPowerState                (ComponentInstance         portComponent,
  455.                                  AVPowerStatePtr         getPowerState)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x010C, 0x7000, 0xA82A);
  456.  
  457. EXTERN_API( ComponentResult )
  458. AVPortSetPowerState                (ComponentInstance         portComponent,
  459.                                  AVPowerStatePtr         setPowerState)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x010D, 0x7000, 0xA82A);
  460.  
  461. EXTERN_API( ComponentResult )
  462. AVPortGetMakeAndModel            (ComponentInstance         portComponent,
  463.                                  DisplayIDType             theDisplayID,
  464.                                  ResType *                manufacturer,
  465.                                  UInt32 *                model,
  466.                                  UInt32 *                serialNumber)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x010E, 0x7000, 0xA82A);
  467.  
  468. EXTERN_API( ComponentResult )
  469. AVPortGetInterfaceSignature        (ComponentInstance         portComponent,
  470.                                  OSType *                interfaceSignature)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x010F, 0x7000, 0xA82A);
  471.  
  472. EXTERN_API( ComponentResult )
  473. AVPortGetManufactureInfo        (ComponentInstance         portComponent,
  474.                                  DisplayIDType             theDisplayID,
  475.                                  DMMakeAndModelPtr         theMakeAndModel)                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0111, 0x7000, 0xA82A);
  476.  
  477.  
  478. /* =============================                */
  479. /* Video Out Port Component Selectors            */
  480. /* =============================                */
  481. EXTERN_API( ComponentResult )
  482. AVPortCheckTimingMode            (ComponentInstance         displayComponent,
  483.                                  DisplayIDType             theDisplayID,
  484.                                  VDDisplayConnectInfoPtr  connectInfo,
  485.                                  VDTimingInfoPtr         modeTiming,
  486.                                  UInt32                 reserved)                            FIVEWORDINLINE(0x2F3C, 0x0010, 0x0000, 0x7000, 0xA82A);
  487.  
  488. EXTERN_API( ComponentResult )
  489. AVPortGetDisplayTimingInfo        (ComponentInstance         displayComponent,
  490.                                  VDTimingInfoPtr         modeTiming,
  491.                                  UInt32                 requestedVersion,
  492.                                  DMDisplayTimingInfoPtr  modeInfo,
  493.                                  UInt32                 reserved)                            FIVEWORDINLINE(0x2F3C, 0x0010, 0x0200, 0x7000, 0xA82A);
  494.  
  495. EXTERN_API( ComponentResult )
  496. AVPortGetDisplayProfileCount    (ComponentInstance         displayComponent,
  497.                                  UInt32                 reserved,
  498.                                  UInt32 *                profileCount,
  499.                                  UInt32 *                profileSeed)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0201, 0x7000, 0xA82A);
  500.  
  501. /*pascal ComponentResult AVPortGetIndexedDisplayProfile(ComponentInstance displayComponent, UInt32 reserved, UInt32 profileIndex, UInt32 profileSeed, CMProfileRef* indexedProfile)*/
  502. EXTERN_API( ComponentResult )
  503. AVPortGetIndexedDisplayProfile    (ComponentInstance         displayComponent,
  504.                                  UInt32                 reserved,
  505.                                  UInt32                 profileIndex,
  506.                                  UInt32                 profileSeed,
  507.                                  void *                    indexedProfile)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x0202, 0x7000, 0xA82A);
  508.  
  509. EXTERN_API( ComponentResult )
  510. AVPortGetDisplayGestalt            (ComponentInstance         displayComponent,
  511.                                  ResType                 displayGestaltSelector,
  512.                                  UInt32 *                displayGestaltResponse)                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0203, 0x7000, 0xA82A);
  513.  
  514.  
  515.  
  516. /* =============================                */
  517. /* AV Device Component Selectors                */
  518. /* =============================                */
  519. EXTERN_API( ComponentResult )
  520. AVDeviceGetName                    (ComponentInstance         deviceComponent,
  521.                                  Str255                 portName)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
  522.  
  523. EXTERN_API( ComponentResult )
  524. AVDeviceGetGraphicInfo            (ComponentInstance         deviceComponent,
  525.                                  PicHandle *            thePict,
  526.                                  Handle *                theIconSuite,
  527.                                  AVLocationPtr             theLocation)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0101, 0x7000, 0xA82A);
  528.  
  529. EXTERN_API( ComponentResult )
  530. AVDeviceGetPowerState            (ComponentInstance         deviceComponent,
  531.                                  AVPowerStatePtr         getPowerState)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
  532.  
  533. EXTERN_API( ComponentResult )
  534. AVDeviceSetPowerState            (ComponentInstance         deviceComponent,
  535.                                  AVPowerStatePtr         setPowerState)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  536.  
  537. EXTERN_API( ComponentResult )
  538. AVDeviceGetAVID                    (ComponentInstance         deviceComponent,
  539.                                  AVIDType *                avDeviceID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
  540.  
  541. EXTERN_API( ComponentResult )
  542. AVDeviceSetAVID                    (ComponentInstance         deviceComponent,
  543.                                  AVIDType                 avDeviceID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
  544.  
  545.  
  546. /* =============================                */
  547. /* AV BackChannel Component Selectors            */
  548. /* =============================                */
  549. EXTERN_API( ComponentResult )
  550. AVBackChannelPreModalFilter        (ComponentInstance         compInstance)                        FIVEWORDINLINE(0x2F3C, 0x0000, 0x0002, 0x7000, 0xA82A);
  551.  
  552. EXTERN_API( ComponentResult )
  553. AVBackChannelModalFilter        (ComponentInstance         compInstance,
  554.                                  EventRecord *            theEvent)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
  555.  
  556. EXTERN_API( ComponentResult )
  557. AVBackChannelAppleGuideLaunch    (ComponentInstance         compInstance,
  558.                                  StringPtr                 theSubject)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
  559.  
  560.  
  561.  
  562.  
  563.  
  564. /* MixedMode ProcInfo constants for component calls */
  565. enum {
  566.     uppAVEngineComponentGetFidelityProcInfo            = 0x00000FF0,
  567.     uppAVEngineComponentTargetDeviceProcInfo        = 0x000003F0,
  568.     uppAVPanelFakeRegisterProcInfo                    = 0x000000F0,
  569.     uppAVPanelSetCustomDataProcInfo                    = 0x000003F0,
  570.     uppAVPanelGetDitlProcInfo                        = 0x000003F0,
  571.     uppAVPanelGetTitleProcInfo                        = 0x000003F0,
  572.     uppAVPanelInstallProcInfo                        = 0x00000FF0,
  573.     uppAVPanelEventProcInfo                            = 0x0003FFF0,
  574.     uppAVPanelItemProcInfo                            = 0x00002FF0,
  575.     uppAVPanelRemoveProcInfo                        = 0x00000FF0,
  576.     uppAVPanelValidateInputProcInfo                    = 0x000003F0,
  577.     uppAVPanelGetSettingsIdentifiersProcInfo        = 0x00000FF0,
  578.     uppAVPanelGetSettingsProcInfo                    = 0x0000FFF0,
  579.     uppAVPanelSetSettingsProcInfo                    = 0x0000FFF0,
  580.     uppAVPanelGetFidelityProcInfo                    = 0x00000FF0,
  581.     uppAVPanelComponentTargetDeviceProcInfo            = 0x00003FF0,
  582.     uppAVPanelComponentGetPanelClassProcInfo        = 0x0000FFF0,
  583.     uppAVPanelComponentGetPanelAdornmentProcInfo    = 0x00000FF0,
  584.     uppAVPanelComponentGetBalloonHelpStringProcInfo = 0x00000EF0,
  585.     uppAVPanelComponentAppleGuideRequestProcInfo    = 0x00000FF0,
  586.     uppAVPortGetAVDeviceFidelityProcInfo            = 0x00000FF0,
  587.     uppAVPortGetWiggleProcInfo                        = 0x000003F0,
  588.     uppAVPortSetWiggleProcInfo                        = 0x000001F0,
  589.     uppAVPortGetNameProcInfo                        = 0x000003F0,
  590.     uppAVPortGetGraphicInfoProcInfo                    = 0x00003FF0,
  591.     uppAVPortSetActiveProcInfo                        = 0x000001F0,
  592.     uppAVPortGetActiveProcInfo                        = 0x00003FF0,
  593.     uppAVPortGetAVIDProcInfo                        = 0x000003F0,
  594.     uppAVPortSetAVIDProcInfo                        = 0x000003F0,
  595.     uppAVPortSetDeviceAVIDProcInfo                    = 0x000003F0,
  596.     uppAVPortGetDeviceAVIDProcInfo                    = 0x000003F0,
  597.     uppAVPortGetPowerStateProcInfo                    = 0x000003F0,
  598.     uppAVPortSetPowerStateProcInfo                    = 0x000003F0,
  599.     uppAVPortGetMakeAndModelProcInfo                = 0x0000FFF0,
  600.     uppAVPortGetInterfaceSignatureProcInfo            = 0x000003F0,
  601.     uppAVPortGetManufactureInfoProcInfo                = 0x00000FF0,
  602.     uppAVPortCheckTimingModeProcInfo                = 0x0000FFF0,
  603.     uppAVPortGetDisplayTimingInfoProcInfo            = 0x0000FFF0,
  604.     uppAVPortGetDisplayProfileCountProcInfo            = 0x00003FF0,
  605.     uppAVPortGetIndexedDisplayProfileProcInfo        = 0x0000FFF0,
  606.     uppAVPortGetDisplayGestaltProcInfo                = 0x00000FF0,
  607.     uppAVDeviceGetNameProcInfo                        = 0x000003F0,
  608.     uppAVDeviceGetGraphicInfoProcInfo                = 0x00003FF0,
  609.     uppAVDeviceGetPowerStateProcInfo                = 0x000003F0,
  610.     uppAVDeviceSetPowerStateProcInfo                = 0x000003F0,
  611.     uppAVDeviceGetAVIDProcInfo                        = 0x000003F0,
  612.     uppAVDeviceSetAVIDProcInfo                        = 0x000003F0,
  613.     uppAVBackChannelPreModalFilterProcInfo            = 0x000000F0,
  614.     uppAVBackChannelModalFilterProcInfo                = 0x000003F0,
  615.     uppAVBackChannelAppleGuideLaunchProcInfo        = 0x000003F0
  616. };
  617.  
  618.  
  619. #if PRAGMA_STRUCT_ALIGN
  620.     #pragma options align=reset
  621. #elif PRAGMA_STRUCT_PACKPUSH
  622.     #pragma pack(pop)
  623. #elif PRAGMA_STRUCT_PACK
  624.     #pragma pack()
  625. #endif
  626.  
  627. #ifdef PRAGMA_IMPORT_OFF
  628. #pragma import off
  629. #elif PRAGMA_IMPORT
  630. #pragma import reset
  631. #endif
  632.  
  633. #ifdef __cplusplus
  634. }
  635. #endif
  636.  
  637. #endif /* __AVCOMPONENTS__ */
  638.  
  639.